参考 Apache ZooKeeper,DockerHub,Apache Curator,无羊群效应的简单锁。
1 2 3
| docker run --name some-zookeeper --restart always -p 2181:2181 -d zookeeper docker run -it --rm --link some-zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper docker rm -f some-zookeeper
|
1
| help, ls -s /, create /zk_test my_data, get /zk_test, set /zk_test junk, delete /zk_test, quit
|
1 2 3 4 5 6 7 8 9 10 11
| <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>5.9.0</version> </dependency>
<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>5.9.0</version> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public static void main(String[] args) { try (CuratorFramework client = CuratorFrameworkFactory.newClient( "192.168.2.9:2181", new ExponentialBackoffRetry(1000, 3) )) { client.start(); InterProcessMutex lock = new InterProcessMutex(client, "/lock"); try { lock.acquire(); try { } finally { lock.release(); } } catch (Exception e) { e.printStackTrace(); } } }
|